package com.niiwoo.civet.mobile.vo.response;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

@Getter
@Setter
public class OrganizationInfoRespVO implements Serializable {

    private static final long serialVersionUID = 3762349907299574202L;
    /**
     * 唯一主键
     */
    private String id;
    /**
     * 机构类型，1：极速借，2：担保机构，3：反担保机构，4：企业借款人
     */
    private Byte type;

    @ApiModelProperty("企业角色， 暂时都是企业投资人")
    public String getTypeDesc() {
        return "企业投资人";
    }

    /**
     * 推标机构：类型企业借款人时，推送机构不能为空
     */
    private String pushOrgId;
    /**
     * 机构状态(0、停用 1、正常)
     */
    private Byte status;
    /**
     * 机构代码
     */
    private String organizationCode;
    @ApiModelProperty("企业名称")
    private String organizationName;
    /**
     * 机构简称
     */
    private String abbreviation;
    @ApiModelProperty("法人姓名")
    private String representative;
    @ApiModelProperty("法人手机号")
    private String legalPersonPhoneNumber;
    @ApiModelProperty("法人证件号")
    private String legalPersonCertNumber;
    @ApiModelProperty("法人证件类型")
    public String getLegalPersonCertType() {
        return "身份证";
    }

    /**
     * 机构注册号
     */
    private String registerNumber;
    /**
     * 机构注册时间
     */
    private Date registerTime;
    /**
     * 机构注册资本
     */
    private BigDecimal registerCapital;
    @ApiModelProperty("开户银行许可证号")
    private String accountOpeningBankLicense;
    @ApiModelProperty("税务登记号码")
    private String taxId;
    /**
     * 统一社会信用代码
     */
    @ApiModelProperty("统一社会信用代码")
    private String unifiedSocialCreditCode;
    /**
     * 机构信用代码
     */
    private String institutionalReditCode;
    /**
     * 机构电话号码
     */
    private String telephoneNumber;
    /**
     * 机构电子邮件
     */
    private String email;
    /**
     * 官方网站
     */
    private String website;
    /**
     * 省份
     */
    private String province;
    /**
     * 城市
     */
    private String city;
    /**
     * 详细地址
     */
    private String address;
    /**
     * 机构logo，url地址
     */
    private String logoUrl;
    /**
     * 法人身份证正面照，url地址
     */
    private String idCardPhotoFrontUrl;

    private String idCardPhotoFrontReleaseUrl;
    /**
     * 法人身份证反面照，url地址
     */
    private String idCardPhotoBackUrl;

    private String idCardPhotoBackReleaseUrl;

    /**
     * 法人手持身份证照，url地址
     */
    private String idCardPhotoHandUrl;

    /**
     * 法人手持身份证照打码照 url
     */
    private String idCardPhotoHandReleaseUrl;
    /**
     * 机构营业执照，url地址
     */
    private String charterUrl;

    private String charterReleaseUrl;

    @ApiModelProperty("营业执照编码")
    private String charterCode;

    @ApiModelProperty("代理人用户名")
    private String agentUserName;

    /**
     *
     */
    private String agentRealName;
    /**
     * 代理人身份证
     */
    private String agentIdentityCard;
    /**
     * 代理人手机号码
     */
    private String agentPhoneNumber;
    /**
     * 提现服务费率
     */
    private BigDecimal withdrawRate;
    /**
     * 单次提现最高收取
     */
    private BigDecimal maxWithdrawFee;
    /**
     * 可用余额预警阀值
     */
    private BigDecimal balanceWarningRate;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 创建人
     */
    private Long createManager;
    /**
     * 修改人
     */
    private Long updateManager;
    /**
     * 机构描述
     */
    private String description;

    private String needUpdatePassword;


    /**
     * 应付履约金
     */
    private BigDecimal performanceAmount;

    /**
     * 已冻结履约金
     */
    private BigDecimal freezePerformanceAmount;

    /**
     * 跟踪人姓名
     */
    private String trackRealName;

    /**
     * 跟踪人手机号
     */
    private String trackMobileNo;

    /**
     * 创建人姓名
     */
    private String createManagerName;

    /**
     * 修改人姓名
     */
    private String updateManagerName;

    /**
     * 开户状态：0：初始化，1：审核中，2：审核通过，3：审核拒绝，4：审核退回
     */
    private Integer accountStatus = 0;

    /**
     * 企业对公账号
     */
    private String orgPublicAccount;

    @ApiModelProperty("企业联系人姓名")
    private String corporateContactsName;

    @ApiModelProperty("联系人手机号")
    private String contactsPhoneName;

    @ApiModelProperty("组织机构代码")
    private String orgNo ;
    /**
     * 银行编码
     */
    private String bankCode;

    @ApiModelProperty("头像URL地址")
    private String headImage;
    @ApiModelProperty("用户昵称")
    private String nickName;
}
